---
title: Quickstart
---

If you want to quickly experience features that require the Univer backend service, you can use our prepared one-click deployment version:

Please refer to [Univer Server Configuration Requirements](/guides/pro#evironment-requirements) to ensure that your runtime environment meets the requirements for running the Univer backend service.

<Callout>
  The unauthorized Univer backend service provides a limited-feature trial version. If you want to use the backend service without restrictions, please refer to the [License](/guides/pro/license) section.
</Callout>

## One-click deployment to Docker Compose

### Installation

<Callout type="warning" title="Note">
  If you have not installed Docker before, the following script will automatically install the latest version of Docker for you.
</Callout>

Execute the following command to automatically download, install, and run the latest version of the Univer backend service in the **current directory**:

```bash
bash -c "$(curl -fsSL https://get.univer.ai)"
```

If you want to install a specific version of the Univer backend service, you can add the `-- <version>` parameter to the above command, like this:

```bash
bash -c "$(curl -fsSL https://get.univer.ai/product)" -- 0.9.1
```

Installation offline:

Download the offline installation package: https://univer.ai/releases/univer-server/download

1. Upload the offline installation package to your deployment server and unzip it.
2. Enter the unzipped directory and execute `bash load-images.sh` to load the Univer backend service image into the local docker.

After running the script, the service will be installed in a directory named `univer-server` in the current working directory, and it will automatically start after installation.

### Test the Service

If you want to test whether the service is running properly, you can execute the following command to start the built-in demo service:

```bash
cd univer-server && bash run.sh start-demo-ui`
```

After successful startup, you can open your browser and go to `http://localhost:3010` to experience it. When you open this link, a new blank document will be automatically created, and you will be redirected to the link of this document. If you want to experience collaborative editing, you can open this document again in another browser or incognito window.

### Test USIP

If you want to experience integration with your own system for user authentication and permission management, you can follow these steps:

<Steps>
  <Step>
    Create a file named `.env.custom` in the `univer-server` directory and write the following configuration in it:

    ```properties
    USIP_ENABLED=true
    ```
  </Step>
  <Step>
    Execute `bash run.sh restart` to restart the backend service
  </Step>
  <Step>
    Execute `bash run.sh start-demo-usip` to start the demo service
  </Step>
</Steps>

After successfully completing the above steps, you can open your browser and go to `http://localhost:8080` to experience it.

### Stop, Start, Restart, and Uninstall Services

You can also control the Univer backend service's stop, start, restart, and uninstall operations through the `run.sh` script in the `univer-server` directory.

<Callout type="warning" title="Caution">
  The uninstall operation will delete all documents and images you created during the experience, so please proceed with caution.
</Callout>

- **stop**：`cd univer-server && bash run.sh stop`
- **start**：`cd univer-server && bash run.sh start`
- **restart**：`cd univer-server && bash run.sh restart`
- **uninstall**：`cd univer-server && bash run.sh uninstall`，

### Upgrade Service

In the parent directory of the installation directory `univer-server`, run the following command to upgrade to the latest version, **keeping the old configuration and data**:

```bash
bash -c "$(curl -fsSL https://get.univer.ai)"
```

## One-click deployment to K8s

### Environment Requirements

Univer uses Helm to deploy on K8s, so you need to install Helm first. Please refer to the [Official Helm Installation Guide](https://helm.sh/docs/intro/install/) to complete the installation.

Helm needs to access your K8s cluster, and you need to ensure that you have a K8s cluster. You can let Helm access it through **one of the following methods**:

- Ensure that the `kubeconfig` file for your K8s cluster is configured in `~/.kube/config`
- Set the `KUBECONFIG` environment variable to the path of your `kubeconfig` file
- Use the `--kubeconfig` parameter in the Helm command, setting the parameter value to the path of your `kubeconfig` file, e.g., `helm install --kubeconfig your-kubeconfig-path`

### Operation Instructions

Now you can execute the following commands to install the Univer backend service to your K8s:

```bash
helm install -n univer --create-namespace \
  --set global.istioNamespace="univer" \
  univer-stack oci://univer-acr-registry.cn-shenzhen.cr.aliyuncs.com/helm-charts/univer-stack
kubectl rollout restart -n univer deployment/collaboration-server
kubectl rollout restart -n univer deployment/universer
```

#### Test the Service

After installation, open `http://univer.example.com/sheet/` to start your experience.

#### Uninstall the Service

```bash
helm uninstall univer-stack -n univer
```

#### Upgrade the Service

```bash
helm upgrade --install univer-stack \
  oci://univer-acr-registry.cn-shenzhen.cr.aliyuncs.com/helm-charts/univer-stack \
  -n univer
```

## Further Integration

If you want to further integrate the Univer Pro backend service into your own system to achieve functionalities such as:

- Accessing Univer Pro services only after user login
- Managing document access permissions by roles or users
- Receiving notifications for document comments
- Performing document resource operations (e.g., creating, deleting, modifying documents)

Univer Pro provides three integration methods:

<Cards>
  <Card title="USIP" href="/en-US/guides/pro/usip">
    Part of the interfaces have been implemented
  </Card>
  <Card title="Univer Event Ssynchronization" href="/en-US/guides/pro/event-sync">
    Part of the events are supported
  </Card>
  <Card title="OpenAPI">
    In design, to be gradually released later
  </Card>
</Cards>

You can choose the appropriate integration method based on your needs.

Here's the deployment architecture when integrated with your system:

![Integration architecture](./server/integration-arch.png)
